home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_events.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  5KB  |  205 lines

  1. #ifndef __EWL_EVENTS_H__
  2. #define __EWL_EVENTS_H__
  3.  
  4. /**
  5.  * @file ewl_events.h
  6.  * @defgroup Ewl_Events Events: Lower Level Event Handlers
  7.  * @brief Defines the routines that dispatch the lower level events to EWL.
  8.  *
  9.  * @{
  10.  */
  11.  
  12. typedef struct Ewl_Event_Window_Expose Ewl_Event_Window_Expose;
  13.  
  14. /**
  15.  * @struct Ewl_Event_Window_Expose
  16.  * Describes the evas region that received an expose notification.
  17.  */
  18. struct Ewl_Event_Window_Expose
  19. {
  20.     int x; /**< Beginning X coordinate for the expose rectangle */
  21.     int y; /**< Beginning Y coordinate for the expose rectangle */
  22.     int w; /**< Width of the expose rectangle */
  23.     int h; /**< Height of the expose rectangle */
  24. };
  25.  
  26. typedef struct Ewl_Event_Window_Configure Ewl_Event_Window_Configure;
  27.  
  28. /**
  29.  * @struct Ewl_Event_Window_Configure
  30.  * Notifies widgets when the enclosing window size has changed.
  31.  */
  32. struct Ewl_Event_Window_Configure
  33. {
  34.     int x; /**< Beginning X coordinate of the windows new position */
  35.     int y; /**< Beginning Y coordinate of the windows new position */
  36.     int w; /**< The new width of the window */
  37.     int h; /**< The new height of the window */
  38. };
  39.  
  40. typedef struct Ewl_Event_Window_Delete Ewl_Event_Window_Delete;
  41.  
  42. /**
  43.  * @struct Ewl_Event_Window_Delete
  44.  * Notifies of window close requests.
  45.  */
  46. struct Ewl_Event_Window_Delete
  47. {
  48.     int ignore;
  49. };
  50.  
  51. typedef struct Ewl_Event_Key_Down Ewl_Event_Key_Down;
  52.  
  53. /**
  54.  * @struct Ewl_Event_Key_Down
  55.  * Provides clients with necessary information about the key press event.
  56.  */
  57. struct Ewl_Event_Key_Down
  58. {
  59.     unsigned int modifiers; /**< Modifiers that were pressed */
  60.     char *keyname; /**< Name of the key that was pressed */
  61. };
  62.  
  63. typedef struct Ewl_Event_Key_Up Ewl_Event_Key_Up;
  64.  
  65. /**
  66.  * @struct Ewl_Event_Key_Up
  67.  * Provides clients with necessary information about the key release event.
  68.  */
  69. struct Ewl_Event_Key_Up
  70. {
  71.     unsigned int modifiers; /**< Modifiers that were pressed */
  72.     char *keyname; /**< Name of the key that was released */
  73. };
  74.  
  75. typedef struct Ewl_Event_Mouse_Down Ewl_Event_Mouse_Down;
  76.  
  77. /**
  78.  * @struct Ewl_Event_Mouse_Down
  79.  * Provides information about the mouse down event.
  80.  */
  81. struct Ewl_Event_Mouse_Down
  82. {
  83.     unsigned int modifiers; /**< Modifiers that were pressed */
  84.     int button; /**< The mouse button that was pressed */
  85.     int clicks; /**< Number of consecutive clicks */
  86.     int x; /**< X coordinate the mouse press occurred at */
  87.     int y; /**< Y coordinate the mouse press occurred at */
  88. };
  89.  
  90. typedef struct Ewl_Event_Mouse_Up Ewl_Event_Mouse_Up;
  91.  
  92. /**
  93.  * @struct Ewl_Event_Mouse_Up
  94.  * Provides information about the mouse up event.
  95.  */
  96. struct Ewl_Event_Mouse_Up
  97. {
  98.     unsigned int modifiers; /**< Modifiers that were pressed */
  99.     int button; /**< The mouse button that was released */
  100.     int x; /**< X coordinate the mouse release occurred at */
  101.     int y; /**< Y coordinate the mouse release occurred at */
  102. };
  103.  
  104. typedef struct Ewl_Event_Mouse_Move Ewl_Event_Mouse_Move;
  105.  
  106. /**
  107.  * @struct Ewl_Event_Mouse_Move
  108.  * Provides information about mouse movement
  109.  */
  110. struct Ewl_Event_Mouse_Move
  111. {
  112.     unsigned int modifiers; /**< Modifiers that were pressed */
  113.     int x; /**< X coordinate the mouse moved to */
  114.     int y; /**< Y coordinate the mouse moved to */
  115. };
  116.  
  117. typedef struct Ewl_Event_Mouse_In Ewl_Event_Mouse_In;
  118.  
  119. /**
  120.  * @struct Ewl_Event_Mouse_In
  121.  * Provides information about the mouse entering
  122.  */
  123. struct Ewl_Event_Mouse_In
  124. {
  125.     unsigned int modifiers; /**< Modifiers that were pressed */
  126.     int x; /**< X coordinate the mouse entered at */
  127.     int y; /**< Y coordinate the mouse entered at */
  128. };
  129.  
  130. typedef struct Ewl_Event_Mouse_Out Ewl_Event_Mouse_Out;
  131.  
  132. /**
  133.  * @struct Ewl_Event_Mouse_Out
  134.  * Provides information about the mouse leaving
  135.  */
  136. struct Ewl_Event_Mouse_Out
  137. {
  138.     unsigned int modifiers; /**< Modifiers that were pressed */
  139.     int x; /**< X coordinate the mouse left at */
  140.     int y; /**< Y coordinate the mouse left at */
  141. };
  142.  
  143. typedef struct Ewl_Event_Mouse_Wheel Ewl_Event_Mouse_Wheel;
  144.  
  145. /**
  146.  * @struct Ewl_Event_Mouse_Wheel
  147.  * Provides information about the mouse wheel scrolling
  148.  */
  149. struct Ewl_Event_Mouse_Wheel
  150. {
  151.     unsigned int modifiers; /**< Modifiers that were pressed */
  152.     int x; /**< X coordinate the mouse left at */
  153.     int y; /**< Y coordinate the mouse left at */
  154.     int z; /**< Z value of mouse wheel */
  155.     int dir; /**< Direction mouse wheel scrolled */
  156. };
  157.  
  158. typedef struct Ewl_Dnd_Types Ewl_Dnd_Types;
  159.  
  160. /**
  161.  * @struct Ewl_Dnd_Types
  162.  * Provides type information about an external DND drag
  163.  */
  164. struct Ewl_Dnd_Types
  165. {
  166.     int num_types;
  167.     char** types;
  168.     
  169. };
  170.  
  171. /**
  172.  * @struct Ewl_Event_Dnd_Drop
  173.  * Provides information about dnd drops movement
  174.  */
  175. struct Ewl_Event_Dnd_Drop
  176. {
  177.         int x; /**< X coordinate the mouse moved to */
  178.         int y; /**< Y coordinate the mouse moved to */
  179.     void* data; /**< Data from drop source         */
  180. };
  181. typedef struct Ewl_Event_Dnd_Drop Ewl_Event_Dnd_Drop;
  182.  
  183.  
  184.  
  185. typedef struct Ewl_Dialog_Event Ewl_Dialog_Event;
  186.  
  187. /**
  188.  * @struct Ewl_Dialog_Event
  189.  * Stores the reponse from a dialog
  190.  */
  191. struct Ewl_Dialog_Event
  192. {
  193.     unsigned int response;
  194. };
  195.  
  196. int        ewl_ev_init(void);
  197. unsigned int     ewl_ev_modifiers_get();
  198. void         ewl_ev_modifiers_set(unsigned int modifiers);
  199.  
  200. /**
  201.  * @}
  202.  */
  203.  
  204. #endif                /* __EWL_EVENTS_H__ */
  205.